export default {
  extends: [
    'stylelint-config-recommended-scss',
    'stylelint-config-recommended-vue',
    'stylelint-config-recess-order',
    'stylelint-config-html/vue',
  ], // 配置 vue 中 template 样式格式化
  overrides: [
    // 扫描 .vue/html 文件中的 <style> 标签内的样式
    {
      files: ['**/*.{vue,html}'], // 匹配所有的vue和html文件
      customSyntax: 'postcss-html', // 解析html文件，postcss-scss就是解析scss文件
      // 第三个参数rules：为 .scss 文件设置特定的规则，比如强制 CSS 选择器类名使用特定的命名模式。
      // 例如：rules：{ "selector-class-pattern": "^([a-z][a-z0-9]*)(-[a-z0-9]+)*$" // SCSS 文件的特定规则}
      // rules: {
      //   "color-no-invalid-hex": true, // 禁止无效的 HEX 颜色值
      //   "block-no-empty": true, // 禁止空的块
      //   "selector-class-pattern": "^([a-z][a-z0-9]*)(-[a-z0-9]+)*$", // SCSS 文件类名模式
      //   "declaration-block-trailing-semicolon": "always", // 强制声明块末尾有分号
      //   "max-nesting-depth": [3, { ignoreAtRules: ["media"] }] // 最大嵌套深度为 3 层，忽略 @media 规则
      // }
    },
  ],
  rules: {
    'at-rule-no-unknown': null,
    'function-no-unknown': null,
    'media-query-no-invalid': null,
    'no-descending-specificity': null,
    'property-no-unknown': null,
    'scss/no-global-function-names': null,
    'selector-class-pattern': null,
    'selector-pseudo-class-no-unknown': null,
    'scss/at-import-partial-extension': null, // 解决不能使用 @import 引入 scss 文件
    'selector-pseudo-class-no-unknown': [
      true,
      {
        ignorePseudoClasses: ['global', 'v-deep', 'deep'],
      },
    ],
  },
  ignoreFiles: ['dist/**/*', 'index.html', '**/*.js', '**/*.jsx', '**/*.tsx'],
}
